package com.heima.model.wemedia.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * 自媒体图文内容信息表
 * </p>
 *
 * @author author
 * @since 2023-06-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("wm_news")
public class WmNews implements Serializable {

    private static final long serialVersionUID = 1L;

    // 文章当前状态 0 草稿， 1 提交（待审核），2 审核失败，3 人工审核，4 人工审核通过，8 审核通过（待发布）9 已发布
    public static class Status {
        public static final int DRAFT = 0;
        public static final int SUBMIT = 1;
        public static final int AUDIT_FAILED = 2;
        public static final int HUMAN_REVIEW = 3;
        public static final int HUMAN_REVIEW_PASSED = 4;
        public static final int APPROVED = 8;
        public static final int PUBLISHED = 9;
    }

    // 文章的图片类型：0 无图文章 ，1 单图文章 ，3 多图文章 ,自动
    public static class Type {
        public static final int NO_PICTURE = 0;
        public static final int SINGLE_IMAGE = 1;
        public static final int MULTI_IMAGE = 3;
        public static final int AUTO = -1;
    }

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 自媒体用户ID
     */
    private Integer userId;

    /**
     * 标题
     */
    private String title;

    /**
     * 图文内容
     */
    private String content;

    /**
     * 文章布局
     * 0 无图文章
     * 1 单图文章
     * 3 多图文章
     */
    private Integer type;

    /**
     * 图文频道ID
     */
    private Integer channelId;

    private String labels;

    /**
     * 创建时间
     */
    private LocalDateTime createdTime;

    /**
     * 提交时间
     */
    private LocalDateTime submitedTime;

    /**
     * 当前状态
     * 0 草稿
     * 1 提交（待审核）
     * 2 审核失败
     * 3 人工审核
     * 4 人工审核通过
     * 8 审核通过（待发布）
     * 9 已发布
     */
    private Integer status;

    /**
     * 定时发布时间，不定时则为空
     */
    private Date publishTime;

    /**
     * 拒绝理由
     */
    private String reason;

    /**
     * 发布库文章ID
     */
    private Long articleId;

    /**
     * //图片用逗号分隔
     */
    private String images;

    private Boolean enable;


}
